Proposal: Add localFeaturesRoot for flexible local feature paths#674
Open
tennisleng wants to merge 1 commit intodevcontainers:mainfrom
Open
Proposal: Add localFeaturesRoot for flexible local feature paths#674tennisleng wants to merge 1 commit intodevcontainers:mainfrom
tennisleng wants to merge 1 commit intodevcontainers:mainfrom
Conversation
Addresses devcontainers#671 - making it easier to reuse local features in dev containers. This proposal introduces a new `localFeaturesRoot` property for `devcontainer.json` that allows users to specify a custom base directory for resolving local Feature paths, enabling Feature reuse across multiple dev container configurations. Changes: - Add proposal document: proposals/flexible-local-feature-paths.md - Update devcontainer.json reference with localFeaturesRoot property - Update Features distribution spec with expanded local feature docs - Update JSON schema with localFeaturesRoot property definition
Author
|
@microsoft-github-policy-service agree |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This proposal addresses Issue #671 - making it easier to reuse local Features in dev containers.
Problem
Users who want to manage a collection of their own dev container configurations and Features in a single repository face significant friction. The current specification requires local Features to be stored within the
.devcontainer/folder at the project workspace folder root, which makes reusing Features across different dev container configurations difficult.Solution
This PR introduces a new
localFeaturesRootproperty fordevcontainer.jsonthat allows users to specify a custom base directory for resolving local Feature paths.Property Definition
localFeaturesRootdevcontainer.json) that serves as the base for resolving local Feature paths. Defaults to.(current behavior).Example Usage
{ "name": "My Project", "image": "mcr.microsoft.com/devcontainers/base:ubuntu", "localFeaturesRoot": "../../shared-features", "features": { "./my-feature": {} // Resolves to shared-features/my-feature } }Changes Made
localFeaturesRootproperty to the referencelocalFeaturesRootproperty to the JSON schemaBackward Compatibility
This change is fully backward compatible:
localFeaturesRootproperty is optionalImplementation Notes
This is a specification-only proposal. The actual implementation would need to be done in the devcontainers/cli repository.
Fixes #671